// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import axios from 'axios'
import apiConfig from '../config/api.config'
import router from './router'
Vue.prototype.axios = axios
axios.defaults.baseURL = apiConfig.baseUrl
import $ from 'jquery'
import * as filters from './filters'
import VueClipboard from 'vue-clipboard2'
Vue.config.productionTip = false


import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(VueClipboard)
Vue.use(ElementUI);

import Utils from "./utils";
Vue.use(Utils);

Object.keys(filters).forEach(key => {
        Vue.filter(key, filters[key])
    })
    // router.beforeEach((to, from, next) => {

//   if (to.meta.requireAuth && !Auth.authenticated()) {
//     next({
//       path: '/login',
//       query: {
//         redirect: to.fullPath
//       }
//     })
//   } else {
//     if (to.name == 'layoutPc' || to.name == 'index' || to.name == 'site') { 
//       //判断是否请求这个接口
//        if(localStorage.hasOwnProperty("components"+(to.params.code ? to.params.code : 'default'))){
//          next();
//          return false;
//        }

//       http.get("page/get-components", {
//         params: {
//           type: "pc",
//           code: to.params.code  ?  to.params.code : 'default'
//         }
//       }).then(res => {
//           if (res.data.code == 0) {
//             // 提前获取所有组件信息，存入到本地存储
//             localStorage.setItem("components"+(to.params.code ? to.params.code : 'default'), JSON.stringify(res.data.data));
//             next();
//           }
//         },
//         err => {
//           console.log("请求错误！");
//         }
//       );
//     } else {
//       next();
//     }
//   }
// });


//路由守卫
// router.beforeResolve((to, from, next) => {  
//   let token = to.query.token ? to.query.token : null;
//  if (token) {  
//    localStorage.setItem("mytoken", token);
//  }
//  token = localStorage.getItem("mytoken");
//  if (!token) {  
//  } else {   
//    next(); 
//  }
// });
// var req = new XMLHttpRequest();
// req.open('GET', document.location.href, false);
// req.send(null);
// var headers = req.getAllResponseHeaders();
// console.log(headers);


//  // 超时时间
//  axios.defaults.timeout = 5000
// //  // http请求拦截器
//  axios.interceptors.request.use(config => {
// //    let token = localStorage.getItem('mytoken');   //------
// //    config.headers['Authorization'] = token;      //-------
// //    return config
//    console.log(config.headers);
//  }, error => {
//    return Promise.reject(error)
//  })
//   // http响应拦截器
//  axios.interceptors.response.use(res => {// 响应成功关闭loading
//    return res.data
//  }, error => {
//    return Promise.reject(error)
//  })

//  Vue.config.productionTip = false;




/* eslint-disable no-new */
new Vue({
    el: '#app',
    router,
    components: { App },
    template: '<App/>'
})